#version 330 core
layout (location = 0) in vec3 aPos; // 顶点位置数据
layout (location = 1) in vec3 aNormal; // 顶点法向量数据

uniform mat4 model;
uniform mat4 view;
uniform mat4 projection;

// uniform vec3 lightPos; // 光源位置
out vec3 Normal; // 法向量
out vec3 FragPos; // 世界坐标

void main()
{
    FragPos = vec3(model * vec4(aPos, 1.0)); // 将局部坐标转换成世界坐标，通过模型矩阵。
    Normal = aNormal;  
    gl_Position = projection * view * vec4(FragPos, 1.0); // 将顶点从世界坐标系变换到裁剪空间坐标系
}